//package org.jeecg.modules.qyxx.handler;
//
//import com.alibaba.fastjson.JSONObject;
//import com.alibaba.fastjson.TypeReference;
//import com.xxl.job.core.biz.model.ReturnT;
//import com.xxl.job.core.handler.IJobHandler;
//import com.xxl.job.core.util.ShardingUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang.StringUtils;
//import org.jeecg.common.util.Rest;
//import org.jeecg.modules.qyxx.entity.req.NsrxxRequest;
//import org.jeecg.modules.qyxx.mapper.DjNsrxxSyncRecordMapper;
//import org.jeecg.modules.qyxx.service.IDjNsrxxSyncRecordService;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//
//import java.util.ArrayList;
//import java.util.List;
//import java.util.concurrent.*;
//
//@Deprecated
//@Slf4j
//@Component
//public class NsrxxSyncHandler extends IJobHandler {
//
//    @Autowired
//    IDjNsrxxSyncRecordService djNsrxxSyncRecordService;
//
//    @Autowired
//    DjNsrxxSyncRecordMapper djNsrxxSyncRecordMapper;
//
//    @Value("${xxl.job.executor.ip}")
//    private String ip;
//
//    private static ExecutorService executor = new ThreadPoolExecutor(2, 5, 0L,
//            TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(10000),
//            new ThreadPoolExecutor.CallerRunsPolicy());
//
//    @Override
//    public ReturnT<String> execute(String jobParam) throws Exception {
//
//        NsrxxRequest nsrxxRequest= JSONObject.parseObject(jobParam, new TypeReference<NsrxxRequest>() {
//        });
////        {"area_code": "440000","nsrsbh":"91440116714290089K"} 单条数据执行
////        {"area_code": "440000"} 查库数据执行
//        if (StringUtils.isNotEmpty(nsrxxRequest.getAreaCode())){
//            if (StringUtils.isNotEmpty(nsrxxRequest.getNsrsbh())) { //执行单条数据
//                Rest<String> getnsrxx=djNsrxxSyncRecordService.getnsrxx(nsrxxRequest.getNsrsbh(), nsrxxRequest.getAreaCode());
//                return SUCCESS;
//            }
//            else {
//                ShardingUtil.ShardingVO shardingVO = ShardingUtil.getShardingVo();
//                if (shardingVO == null) {
//                    shardingVO = new ShardingUtil.ShardingVO(0, 1);
//                }
//                log.info("GetGsCwbbByDjxhHandler初始化数据,分片参数：当前分片序号 = {}, 总分片数 = {},ip={}", shardingVO.getIndex(), shardingVO.getTotal(), ip);
//                log.info("GetGsCwbbByDjxhHandler初始化数据,第 {} 片, 命中分片开始处理", shardingVO.getIndex());
//                List<String> list=djNsrxxSyncRecordMapper.getNsrsbh("500",nsrxxRequest.getAreaCode());
//                List<Future> futureList = new ArrayList<>();
//
//                for (String nsrsbh :list) {
//
//                    log.info("获取纳税人信息表的参数数据：{}",nsrsbh);
//
//                     //单线程
////                    Rest<String> getnsrxx=djNsrxxSyncRecordService.getnsrxx(nsrsbh, nsrxxRequest.getAreaCode());
//
//                    futureList.add(executor.submit(new Callable() { //多线程
//                        @Override
//                        public Object call() throws Exception {
//                            Rest<String> getnsrxx=djNsrxxSyncRecordService.getnsrxx(nsrsbh, nsrxxRequest.getAreaCode());
//                            return SUCCESS;
//                        }
//                    }));
//
//                }
//
//                for (Future f : futureList) {
//                    try {
//                        f.get();
//                    } catch (Exception e) {
//                        log.error("NsrxxSyncHandler初始化数据" + nsrxxRequest.getAreaCode() +"-------------------错误解析异常-----------"+e.getMessage());
//                    }
//                }
//                return SUCCESS;
//            }
//        }
//        else {
//            return new ReturnT(ReturnT.FAIL_CODE, "区域编码不能为空！");
//        }
//
//    }
//}
